package com.example.springboot.enumInfo.impl;

import com.example.springboot.enumInfo.EnumInfoType;

/**
 * @Description TODO 返回信息枚举实现
 */
public enum EnumResult implements EnumInfoType {

    /**
     * 成功
     */
    SUCCESS("10000", "成功"),
    /**
     * 程序异常
     */
    FAILED("99999", "系统未知错误"),
    /**
     * 缺少请求参数
     */
    W000001("W000001", "缺少请求参数"),
    /**
     * 新增信息失败
     */
    W000002("W000002", "新增信息失败"),
    /**
     * 更新信息失败
     */
    W000003("W000003", "更新信息失败"),
    /**
     * 删除失败
     */
    W000004("W000004", "删除信息失败"),
    /**
     * 未查询到相关信息
     */
    W000005("W000005", "未查询到相关信息"),
    /**
     * 批量新增失败
     */
    W000006("W000006", "批量新增失败"),
    /**
     * 请求报文格式错误，不是有效的JSON
     */
    W000007("W000007", "请求报文格式错误，不是有效的JSON"),
    /**
     * 签名认证失败
     */
    W000008("W000008", "签名认证失败"),
    /**
     * 缺少请求头信息
     */
    W000009("W000009", "缺少请求头信息"),
    /**
     * 用户未登录或登录已失效，请重新登录
     */
    W000010("W000010", "用户未登录或登录已失效，请重新登录"),
    /**
     * 您无权访问
     */
    W000011("W000011", "您无权访问"),
    /**
     * 菜单已分配角色，不能删除
     */
    W000012("W000012", "菜单已分配角色，不能删除"),

    /**
     * 菜单存在子菜单，不能删除
     */
    W000013("W000013", "菜单存在子菜单，不能删除"),
    /**
     * 权限认证失败
     */
    W000014("W000014", "权限认证失败"),
    /**
     * 无法连接到服务器
     */
    W000015("W000015", "无法连接到服务器"),
    /**
     * 图片文件过大，仅支持100KB以下
     */
    W000016("W000016", "图片文件过大"),
    /**
     * 系统编号不存在，请检查配置是否正确
     */
    W000017("W000017", "系统编号不存在，请检查配置是否正确"),
    /**
     * 资源不存在
     */
    W000018("W000018", "资源不存在"),
    /**
     * 您的访问太过频繁
     */
    W000019("W000019", "您的访问太过频繁"),
    /**
     * 您的登陆已失效，请重新登陆
     */
    W000020("W000020", "您的登陆已失效，请重新登陆"),
    /**
     * 您的登陆已失效，请重新登陆
     */
    W000021("W000021", "您无权访问该资源"),
    /**
     * 参数解密失败
     */
    W000022("W000022", "参数解密失败"),
    /**
     * 获取信息失败
     */
    W000023("W000023", "获取信息失败"),




    ;

    private String code;
    private String msg;

    EnumResult(String code, String msg) {
        this.setCode(code);
        this.setMsg(msg);
    }

    @Override
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    @Override
    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    @Override
    public String toString() {
        return "[" + this.code + ":" + this.msg + "]";
    }
}
